package com.jierui.meter.frontend.service;

import com.jierui.meter.frontend.domain.DO.TErrorComputingResultsDO;
import com.jierui.meter.frontend.domain.VO.*;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * @description: 计算结果
 * @author: wangjingjing
 * @creat: 2021-06-17 10:56
 */
public interface TErrorComputingService {

    Map<String, Object> selectErrorAndMeter(String calerror, String checkstatus, String orgInput,
                                            String idInput, String year, String scope, String orgNo7,
                                            Integer page, Integer size);

    Map<String, Object> selectAllMeterLike(String orgInput, String idInput, String year, String scope,
                                           String orgNo7, Integer page, Integer size, Integer status);

    Map<String, Object> selectByAlarmCode(String year, Integer page, Integer size, String orgNo, int distinctType);

    List<StatisticsByExceptionVO> selectByAlarmCodeNoPage(String year, String orgNo7, int distinctType);


    Map<String, Object> statisticsByPowerSupplyUnit(String year, String scope, String orgNo7, Integer page, Integer size);

    //无分页
    List<TBuComputingIntervalVO> statisticsByPowerSupplyUnitNoPage(String year, String scope, String orgNo7);

    /**
     * 如果参数没有 传null
     *
     * @param year
     * @param scope
     * @param tg
     * @param cityOrgNameList
     * @return
     */
    List<TErrorComputingResultsDO> selectInvalidMeterNumByCityOrgName(String year, String scope, String tg, List<String> cityOrgNameList);


    Map<String, Object> selectByNameOrIdLike(String year, String scope, String orgNo7, String orgInput, String idInput, Integer page, Integer size);

    Map<String, Object> getMeterInfo(String meter);

    Map<String, Object> gerErrorInfoByMeteridOrTgId(String meterid, Integer page, Integer size, String tgId, String alarmType, String alarmTime);

    Map<String, Object> powerSupplyGroupByOrgNo7(String year, String scope, String orgNo7, Integer page, Integer size);

    List<PowerSupplyGroupByTgVO> powerSupplyGroupByTgNoPage(String year, String scope, String orgNo7);

    List<MeterVO> powerSupplyGroupByTgMeterNumNoPage(String year, String scope, String orgNo7);

    Map<String, Object> getErrorByOrgNameLike(String year, String scope, String orgNo7, Integer page, Integer size, String keyword);

    //Map<String, Object> alarmtypeGroupByTg(String year, String scope, String tg, Integer page, Integer size);

    Map<String, Object> getBaseInfoByTgId(String tgid, String year);

    Map<String, Object> errorNumChangeByTgIdOrMeterId(String orgNo7, String year) throws Exception;

    Map<String, Object> alarmOrg(String year, String scope, String orgNo7, Boolean isTgid);

    List<MeterPowerVO> electricMeterPowerByMeterid(String meterid, Integer isallmeter, String tgid, String year) throws ParseException;

    Map<String,Object> meterRunningErrorByTgId(String meterid);

    List<MeterPowerVO> electricMeterPowerByTgid(String tgid);

    Map<String, Object> meterRunningError(String meterid, String year) throws ParseException;

    Map<String, Object> selectNewTgByOrgName(String keyword, int page, int size, String orgNo7);

    Map<String, Object> selectAllTgByOrgName(String keyword, String tgStatus, int page, int size, String orgNo7);

    Map<String, Object> selectNormalTgByOrgName(String keyword, int page, int size, String orgNo7);

    Map<String, Object> getAlramMeterNumByAlramCodeAndON7(String alarmCode, String orgNo7);










}
